package com.yanqu.road.entity.activity.harps;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.DataStatus;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.sql.Types;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

@FieldTypeAnnotation(tableName = "t_u_activity_harps_data")
public class HarpsUserData extends DataObject {

    @FieldTypeAnnotation(desc = "活动ID", select = true, update = true, isIndex = true)
    private int activityId;

    @FieldTypeAnnotation(desc = "玩家ID", select = true, update = true, isIndex = true)
    private long userId;

    @FieldTypeAnnotation(desc = "当前所在层数")
    private int floor;

    @FieldTypeAnnotation(desc = "每次抽奖消耗道具数量")
    private int perDrawReduceCount;

    @FieldTypeAnnotation(desc = "抽奖轮次")
    private int round;

    @FieldTypeAnnotation(desc = "抽奖次数，到达配置指定次数后归0")
    private int playNum;

    @FieldTypeAnnotation(desc = "抽奖累计总次数")
    private int playSum;

    @FieldTypeAnnotation(desc = "积分")
    private int score;

    @FieldTypeAnnotation(desc = "最终积分变更时间")
    private long scoreUpdateTime;

    public int getActivityId() {
        return activityId;
    }
    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setOp(DataStatus.Update);
        }
    }

    public long getUserId() {
        return userId;
    }
    public void setUserId(long userId) {
        if (this.userId != userId) {
            this.userId = userId;
            setOp(DataStatus.Update);
        }
    }

    public int getFloor() {
        return floor;
    }
    public void setFloor(int floor) {
        if (this.floor != floor) {
            this.floor = floor;
            setOp(DataStatus.Update);
        }
    }

    public int getPerDrawReduceCount() {
        return perDrawReduceCount;
    }
    public void setPerDrawReduceCount(int perDrawReduceCount) {
        if (this.perDrawReduceCount != perDrawReduceCount) {
            this.perDrawReduceCount = perDrawReduceCount;
            setOp(DataStatus.Update);
        }
    }

    public int getRound() {
        return round;
    }
    public void setRound(int round) {
        if (this.round != round) {
            this.round = round;
            setOp(DataStatus.Update);
        }
    }

    public int getPlayNum() {
        return playNum;
    }
    public void setPlayNum(int playNum) {
        if (this.playNum != playNum) {
            this.playNum = playNum;
            setOp(DataStatus.Update);
        }
    }

    public int getPlaySum() {
        return playSum;
    }
    public void setPlaySum(int playSum) {
        if (this.playSum != playSum) {
            this.playSum = playSum;
            setOp(DataStatus.Update);
        }
    }

    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        if (this.score != score) {
            this.score = score;
            setOp(DataStatus.Update);
        }
    }

    public long getScoreUpdateTime() {
        return scoreUpdateTime;
    }
    public void setScoreUpdateTime(long scoreUpdateTime) {
        if (this.scoreUpdateTime != scoreUpdateTime) {
            this.scoreUpdateTime = scoreUpdateTime;
            setOp(DataStatus.Update);
        }
    }
}
